package com.icetech.eom.domain.tx;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author wangzw
 * @since 2018-11-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tx_device")
@ApiModel(value="Device对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Device implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "唯一键值")
    @TableId(value = "DevID", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "设备的uid唯一编号")
    @TableField("GUID")
    private String guid;

    @ApiModelProperty(value = "设备登录密码")
    @TableField("SetupNo")
    private String setupNo;

    @ApiModelProperty(value = "p2p服务器IP")
    @TableField("CurServer")
    private String curServer;

    @ApiModelProperty(value = "P2P端口")
    @TableField("CurServerPort")
    private Integer curServerPort;

    @ApiModelProperty(value = "P2P服务器id")
    @TableField("CurServerId")
    private Long curServerId;

    @ApiModelProperty(value = "转发服务器ip")
    @TableField("GssServer")
    private String gssServer;

    @ApiModelProperty(value = "转发服务器端口")
    @TableField("GssServerPort")
    private Integer gssServerPort;

    @ApiModelProperty(value = "转发服务器ID")
    @TableField("GssServerid")
    private Long gssServerId;

    @ApiModelProperty(value = "位置")
    @TableField("position")
    private String position;

    @ApiModelProperty(value = "设备名称")
    @TableField("devname")
    private String devName;

    @ApiModelProperty(value = "绑定用户ID")
    @TableField("binduserid")
    private Long bindUserId;

    @ApiModelProperty(value = "绑定时间")
    @TableField("bindtime")
    private Date bindTime;

    @ApiModelProperty(value = "是否不限制绑定个数 1 不限定，0 限定")
    @TableField("devtype")
    private Boolean devType;


    @ApiModelProperty(value = "设备密码")
    @TableField("passwd")
    private String passwd;


    @ApiModelProperty(value = "备注")
    @TableField("Remark")
    private String remark;

    @ApiModelProperty(value = "排序")
    @TableField("OrderNo")
    private Integer orderNo;

    @ApiModelProperty(value = "是否可用  1 可用，0 不可用")
    @TableField("IsEnabled")
    private Boolean isEnabled;

    @ApiModelProperty(value = "0表示非系统，1表示预装数据")
    @TableField("IsSystem")
    private Boolean isSystem;

    @ApiModelProperty(value = "创建人")
    @TableField("Creator")
    private String creator;

    @ApiModelProperty(value = "创建时间")
    @TableField("CreateTime")
    private Date createTime;

    @ApiModelProperty(value = "修改人")
    @TableField("Modifier")
    private String modifier;

    @ApiModelProperty(value = "修改时间")
    @TableField("ModifyTime")
    private Date modifyTime;

    @TableField("ORGID")
    private Long orgId;

}
